package com.wdb007.venus.svc.dal.user.dao;

import java.math.BigDecimal;
import java.util.List;

import com.wdb007.venus.svc.dal.user.model.UserBillQueryDO;
import com.wdb007.venus.svc.dal.user.model.UserChargeLogDO;
import com.wdb007.venus.svc.dal.user.model.UserRefundLogDO;

public interface UserChargeLogDAO {
	
    int remove(Long id);

    int insert(UserChargeLogDO record);

    UserChargeLogDO get(Long id);

    int update(UserChargeLogDO record);

    UserChargeLogDO getByTradeNo(String tradeNo);
    
    UserChargeLogDO getByOutTradeNo(String outTradeNo);
    
    UserChargeLogDO getDepositByUserId(Long userid);
    
    UserChargeLogDO getByUserId(long userId);
    
    List<UserChargeLogDO> listByDate(UserBillQueryDO query);

	void updateAudit(Long userid);
	
	List<UserRefundLogDO> getRefundList();
	
	BigDecimal getVipAmountByUserId(UserChargeLogDO query);
}